1. Field of the Invention
The present invention relates to a non-volatile semiconductor storage device, and particularly, to a nonvolatile semiconductor storage device enabled to store two bit or more data in one memory cell.
2. Description of the Related Art
One of the well-known non-volatile semiconductor storage devices is a NAND cell type flash memory. The NAND cell type flash memory includes a memory cell array including a plurality of NAND cell units. Each NAND cell unit includes a plurality of memory cells connected in series and two selection transistors connected to both ends thereof. The memory cell holds, in an erase state, data “1” having a negative threshold voltage. In a data write operation, a floating gate is injected with electrons to rewrite data “0” having a positive threshold voltage. The NAND cell type flash memory may change the threshold voltage only from a lower value to a higher value in a data write operation, and may change the threshold voltage in the reverse direction (from a higher value to a lower value) only by an erase operation per a block.
For the purpose of increasing the memory capacity, a so-called multi-value NAND cell type flash memory has recently been developed, which stores two bit or more data in one memory cell. By way of example, a four-value NAND cell type EEPROM may store four-value (two-bit) data (“00,” “01,” “10,” and “11”) in a memory cell.
An n-value NAND cell type EEPROM includes a plurality of latch circuits per a single bit-line connected to the selected memory cell (see, for example, JP 2004-192789 (paragraphs from 0025 to 0139 and others). Specifically, when n-value data is written or read to or from the selected memory cell, the latch circuits serve to temporarily store the n-value data. For a four-value NAND cell type EEPROM, for example, in a write or a read operation, four-value (two-bit) data is temporarily stored in two latch circuits provided per one bit-line connected to the selected memory cell.
For the NAND cell type flash memory, an operation test is done to determine whether data write, erase, and read operations from the memory cell are successfully performed. When the result of the operation test shows a fault of a memory cell, the block including the cell is recognized as a fault block, and the subsequent access to the block is prohibited.
In a binary storage NAND cell type flash memory, as fault-block data for indicating a fault block, “0” data is written to all. (or specific (the several bits at the top, for example)) memory cells in the fault block. The “0” data group functions as the fault-block data indicating the fault block. For a multi-value storage (for example, four-value storage) NAND cell type flash memory, writing “0” data to one page in all (or specific) memory cells included in the fault block, for example, may make it possible to write the fault-block data. The multi-value storage has a problem, however, that it has a complicated write process or it needs to control the threshold voltage in a narrow range, thus making it difficult to write the written fault-block data with a high reliability.